package com.xbongbong.sys.domain.dao;

import com.xbongbong.sys.domain.entity.PriceProductSetEntity;
import com.xbongbong.sys.domain.entity.PriceSetEntity;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;

import java.util.List;
import java.util.Map;

@Mapper
@Repository
public interface PriceProductSetDao {
    Integer insert(PriceProductSetEntity entity);

    void insertBatch(List<PriceProductSetEntity> list);

    PriceProductSetEntity getByKey(@Param("key") Long key, @Param("corpid") String corpid);

    Integer update(PriceProductSetEntity entity);

    Integer deleteByKey(@Param("key") Long key, @Param("corpid") String corpid);

    Integer deleteByPriceId(@Param("priceId") Long priceId, @Param("corpid") String corpid);

    List<PriceProductSetEntity> findEntities(@Param("param") Map<String, Object> param);

    Integer getEntitiesCount(@Param("param") Map<String, Object> param);

    List<PriceProductSetEntity> getByPriceId(@Param("priceId") Long priceId, @Param("corpid") String corpid);

    void updateBatch(@Param("list") List<PriceProductSetEntity> updatePriceProductSetList, @Param("corpid") String corpid);

    List<Long> getAllProduct(@Param("corpid") String corpid, @Param("price_id") Long dataId);

    void deleteByProductId(@Param("priceId") Long dataId, @Param("productId") Long productId, @Param("corpid") String corpid);
}